package com.ruoyi.yl.consultMange.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
import io.swagger.annotations.*;

/**
 * 咨询对象 yl_consultation
 *
 * @author Ming
 * @date 2025-10-21
 */
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@ApiModel(value = "YlConsultation", description = "用户实体")
public class YlConsultation extends BaseEntity {

    /**
     * 第一咨询人
     */
    @Excel(name = "第一咨询人")
    @ApiModelProperty("第一咨询人")
    private String consultantName1;

    /**
     * 第一咨询人手机号
     */
    @Excel(name = "第一咨询人手机号")
    @ApiModelProperty("第一咨询人手机号")
    private String consultantPhone1;

    /**
     * 第一咨询人与长者关系
     */
    @Excel(name = "第一咨询人与长者关系")
    @ApiModelProperty("第一咨询人与长者关系")
    private String relationship1;

    /**
     * 第二咨询人
     */
    @Excel(name = "第二咨询人")
    @ApiModelProperty("第二咨询人")
    private String consultantName2;

    /**
     * 第二咨询人手机号
     */
    @Excel(name = "第二咨询人手机号")
    @ApiModelProperty("第二咨询人手机号")
    private String consultantPhone2;

    /**
     * 第二咨询人与长者关系
     */
    @Excel(name = "第二咨询人与长者关系")
    @ApiModelProperty("第二咨询人与长者关系")
    private String relationship2;

    /**
     * 长者姓名
     */
    @Excel(name = "长者姓名")
    @ApiModelProperty("长者姓名")
    private String elderlyName;

    /**
     * 长者生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "长者生日", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("长者生日")
    private Date elderlyBirthday;

    /**
     * 长者手机号
     */
    @Excel(name = "长者手机号")
    @ApiModelProperty("长者手机号")
    private String elderlyPhone;

    /**
     * 长者性别
     */
    @Excel(name = "长者性别")
    @ApiModelProperty("长者性别")
    private String elderlyGender;

    /**
     * 长者身份证
     */
    @Excel(name = "长者身份证")
    @ApiModelProperty("长者身份证")
    private String elderlyIdCard;

    /**
     * 民族
     */
    @Excel(name = "民族")
    @ApiModelProperty("民族")
    private String ethnicity;

    /**
     * 能力等级
     */
    @Excel(name = "能力等级")
    @ApiModelProperty("能力等级")
    private String abilityLevel;

    /**
     * 是否入住过养老机构
     */
    @Excel(name = "是否入住过养老机构")
    @ApiModelProperty("是否入住过养老机构")
    private String livedIn;

    /**
     * 入住过的养老机构名称
     */
    @Excel(name = "入住过的养老机构名称")
    @ApiModelProperty("入住过的养老机构名称")
    private String nursingHome;

    /**
     * 客户等级
     */
    @Excel(name = "客户等级")
    @ApiModelProperty("客户等级")
    private String customerLevel;

    /**
     * 咨询意向
     */
    @Excel(name = "咨询意向")
    @ApiModelProperty("咨询意向")
    private String consultationIntention;

    /**
     * 客户渠道
     */
    @Excel(name = "客户渠道")
    @ApiModelProperty("客户渠道")
    private String customerChannel;

    /**
     * 咨询原因
     */
    @Excel(name = "咨询原因")
    @ApiModelProperty("咨询原因")
    private String consultationReason;

    /**
     * 介绍人
     */
    @Excel(name = "介绍人")
    @ApiModelProperty("介绍人")
    private String introducer;

    /**
     * 咨询详情
     */
    @Excel(name = "咨询详情")
    @ApiModelProperty("咨询详情")
    private String consultationDetails;

    /**
     * 附件
     */
    @Excel(name = "附件")
    @ApiModelProperty("附件")
    private String attachment;

    /**
     * 咨询状态
     */
    @Excel(name = "咨询状态")
    @ApiModelProperty("咨询状态")
    private String consultationStatus;

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 是否删除 1-正常 2-删除
     */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty("是否删除 1-正常 2-删除")
    private String deleteStatus;

}
